package jfuzzyprincepless.agents;

import jfuzzyprincepless.negotiation.INegotiationContext;
import jfuzzyprincepless.negotiation.services.IService;

public abstract class BaseNegotiationAgent
	implements INegotiatingAgent, IService
{
	/**
	 * adds this as service
	 *
	 * subclasses are expected to call:
	 * super.onNegotiationStart(negotiation)
	 */
	@Override
	public void onNegotiationStart(INegotiationContext context) {
		context.registerService(this);
	}

	/**
	 * never wants to negotiate
	 * see {@link jfuzzyprincepless.agents.INegotiatingAgent#negotiate(INegotiationContext)}
	 */
	@Override
	public boolean negotiate(INegotiationContext context) {
		return false;
	}
}
